Skip to content

Debug app hangs in Windows 64-bit build#242

Merged
dmchaledev merged 1 commit intomainfrom
claude/debug-windows-hangs-8AAsQ
Jan 7, 2026
Merged

Debug app hangs in Windows 64-bit build#242
dmchaledev merged 1 commit intomainfrom
claude/debug-windows-hangs-8AAsQ

Conversation

@dmchaledev
Copy link
Collaborator

CRITICAL FIX: Enable renderer fallbacks for Windows compatibility

Root Cause Analysis:

  • export_presets.cfg had ANGLE=0 and D3D12=0 (DISABLED!)
  • Windows users without Vulkan support had NO renderer fallback
  • This caused immediate freeze/hang on startup for many Windows PCs

Fixes applied:

  1. export_presets.cfg:

    • Enable ANGLE (OpenGL ES via DirectX 11): export_angle=2
    • Enable D3D12 fallback: export_d3d12=1
    • This provides fallback renderers for systems without Vulkan
  2. scene_transition_manager.gd:

    • Replace synchronous load() with threaded ResourceLoader
    • Add 30-second timeout to prevent infinite hangs
    • Add fallback to change_scene_to_file on failure
  3. ShiftSummaryScreen.gd (line 958-982):

    • Add 30-second timeout to while-loop resource loading
    • Handle THREAD_LOAD_INVALID_RESOURCE status
    • Fallback to direct scene load on timeout
  4. simple_scene_loader.gd:

    • Add 60-second timeout to threaded load loop
    • Handle THREAD_LOAD_INVALID_RESOURCE status
    • Prevent infinite loop in background thread

Additional findings for future investigation:

  • Multiple autoloads call Steam.isSteamRunning() during _ready() which could block if Steam is unresponsive (Global.gd:68, SteamManager.gd:51, SentryManager.gd:77, LogManager.gd:52)

CRITICAL FIX: Enable renderer fallbacks for Windows compatibility

Root Cause Analysis:
- export_presets.cfg had ANGLE=0 and D3D12=0 (DISABLED!)
- Windows users without Vulkan support had NO renderer fallback
- This caused immediate freeze/hang on startup for many Windows PCs

Fixes applied:

1. export_presets.cfg:
   - Enable ANGLE (OpenGL ES via DirectX 11): export_angle=2
   - Enable D3D12 fallback: export_d3d12=1
   - This provides fallback renderers for systems without Vulkan

2. scene_transition_manager.gd:
   - Replace synchronous load() with threaded ResourceLoader
   - Add 30-second timeout to prevent infinite hangs
   - Add fallback to change_scene_to_file on failure

3. ShiftSummaryScreen.gd (line 958-982):
   - Add 30-second timeout to while-loop resource loading
   - Handle THREAD_LOAD_INVALID_RESOURCE status
   - Fallback to direct scene load on timeout

4. simple_scene_loader.gd:
   - Add 60-second timeout to threaded load loop
   - Handle THREAD_LOAD_INVALID_RESOURCE status
   - Prevent infinite loop in background thread

Additional findings for future investigation:
- Multiple autoloads call Steam.isSteamRunning() during _ready()
  which could block if Steam is unresponsive (Global.gd:68,
  SteamManager.gd:51, SentryManager.gd:77, LogManager.gd:52)
@dmchaledev dmchaledev merged commit 1921489 into main Jan 7, 2026
0 of 2 checks passed
@dmchaledev dmchaledev deleted the claude/debug-windows-hangs-8AAsQ branch January 7, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants